package com.pe.pgn.clubpgn.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.pe.pgn.clubpgn.dao.DocumentoMovArticuloDao;
import com.pe.pgn.clubpgn.domain.ClpbDocumentoMovArticulo;
import com.pe.pgn.clubpgn.domain.ClpdArticulo;
import com.pe.pgn.clubpgn.domain.ClprPremioCatalogo;
import com.pe.pgn.clubpgn.domain.beans.BNAsignacionArticuloCatalogoDetalle;
import com.pe.pgn.clubpgn.service.DocumentoMovArticuloService;

@Service("documentoMovArticuloService")
public class DocumentoMovArticuloServiceImpl extends GenericManagerImpl<ClpbDocumentoMovArticulo, Long> implements
DocumentoMovArticuloService {

	@Autowired
	private DocumentoMovArticuloDao documentoMovArticuloDao;
	
	public List<ClpbDocumentoMovArticulo> busquedaDocumentoMovimientoPorFiltros(
			String deDocumento, Long coAlmacenOrigen, Long coAlmacenDestino) {
			System.out.println("entro a la busqueda ");
		return documentoMovArticuloDao.busquedaDocumentoMovimientoPorFiltros(deDocumento, coAlmacenOrigen, coAlmacenDestino);		
	}

	public void eliminarDocumentoMovimiento(Long id) {
		documentoMovArticuloDao.eliminarDocumentoMovimiento(id);
	}

	public void guardarDocumentoMovimiento(
			ClpbDocumentoMovArticulo documento) {		
		documentoMovArticuloDao.guardarDocumentoMovimiento(documento);		
	}
	
	public void guardarDocumentoAsignacionArticuloACatalogo(
			ClpbDocumentoMovArticulo documentoMovArticulo){
		guardarDocumentoMovimiento(documentoMovArticulo);		
	}
	
	public void guardarDocumentoDevolucion(
			ClpbDocumentoMovArticulo documentoMovArticulo) {
		documentoMovArticuloDao.guardarDocumentoDevolucion(documentoMovArticulo);
	}

	public ClpbDocumentoMovArticulo obtenerDocumentoMovimiento(Long id) {		
		return documentoMovArticuloDao.obtenerDocumentoMovimiento(id);
	}

	public ClpdArticulo obtenerArticulo(
			BNAsignacionArticuloCatalogoDetalle detalle) {	
		return documentoMovArticuloDao.obtenerArticulo(detalle);
	}

	public List<ClpbDocumentoMovArticulo> obtenerDocumentoMovimientos() {	
		return documentoMovArticuloDao.obtenerDocumentoMovimientos();
	}

	public ClprPremioCatalogo obtenerPremio(
			String coCodigoPremio) {	
		return documentoMovArticuloDao.obtenerPremio(coCodigoPremio);
	}

	public List<ClpbDocumentoMovArticulo> busquedaDocumentoDevolucion(
			Long coAlmacen, String deProveedor, String fechaInicio,
			String fechaFin) {
		
		return documentoMovArticuloDao.busquedaDocumentoDevolucion(coAlmacen, deProveedor, fechaInicio, fechaFin);
	}
	
	public List<ClpbDocumentoMovArticulo> listaDocumentoDevolucion() {
		return documentoMovArticuloDao.listaDocumentoDevolucion();
	}

	public ClpdArticulo obtenerArticulo(String coCodigoArticulo) {
		
		return documentoMovArticuloDao.obtenerArticulo(coCodigoArticulo);
	}
	
}
